package com.corechina.apex_osswords.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.corechina.apex_osswords.common.Response;
import com.corechina.apex_osswords.domain.dto.CoreWorkOrderDto;
import com.corechina.apex_osswords.domain.dto.CoreWorkOrderListDto;
import com.corechina.apex_osswords.domain.entity.CoreWorkOrder;

import java.time.LocalDate;

/**
 * <p>
 * 工单表 服务类
 * </p>
 *
 * @author cc
 * @since 2022-03-11
 */
public interface ICoreWorkOrderService extends IService<CoreWorkOrder> {

    Response add(CoreWorkOrderDto coreWorkOrderDto);

    String getOrderNo();

    Response addForList(CoreWorkOrderListDto coreWorkOrderListDto);

    Response update(CoreWorkOrderDto coreWorkOrderDto);

    Response updateByWeiXin(CoreWorkOrder coreWorkOrder);

    Response delOrderByWeiXin(Integer id);

    Response getList(Integer equipmentId, Integer sortType, String beginDate, String endDate, Integer warningDay, String projectName, String state, Integer disposeResult, Integer createUserType, String recipientName, Integer pageIndex, Integer pageSize);

    Response getOne(Integer id);

    Response getListForWeiXin(String state, Integer disposeResult, Integer pageIndex, Integer pageSize);

    Response disposeOrder(CoreWorkOrder coreWorkOrder);

    Response getRemindList(LocalDate beginDate, LocalDate endDate, Integer type, Integer frequency);

    Response updateRecipient(CoreWorkOrder coreWorkOrder);

    Response updateOrderState(Integer state, Integer id);

    String getAccessToken();

    Response auditOder(CoreWorkOrder coreWorkOrder);


}
